#include <vector>
#include <string>
#include <algorithm>
#include <iostream>

using namespace std;

// Longest Common Subsequence
// str1 = "ZXVVYZW"
// str2 = "XKYKZPW"
// LCS = ["X", "Y", "Z", "W"]
// - 在两个字符串中，出现的顺序相同
// - 字符相同

// str1 = "ABC"
// str2 = "AC"
// LCS = ["A","C"]

// 公式1: 如果末尾两个字符相同，移动到 LCS 里
// 公式2: 如果末尾两个字符不相同，分别从两个字符串末尾去掉一个字符，去和另外一个匹配 LCS
// 
// AB和“” -> ""
//  "A"和"A" -> "A"
vector<string> lcs(const string &str1, const string &str2) {

}

int main(int argc, char const *argv[])
{
  /* code */
  return 0;
}
